﻿<navigation:Page x:Class="GraphMyCode.Client.Views.WelcomePage"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                 mc:Ignorable="d"
                 xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
                 xmlns:Controls="clr-namespace:GraphMyCode.Client.Controls"
                 Title="GraphMyCode">

    <Grid x:Name="LayoutRoot">
        <StackPanel HorizontalAlignment="Left"
                    VerticalAlignment="Top"
                    Margin="10">
            <TextBlock Text="GraphMyCode"
                       FontSize="30"
                       HorizontalAlignment="Center"
                       Margin="4"
                       Foreground="White"
                       Opacity=".7" />

            <TextBlock Text="Beta"
                       FontSize="15"
                       HorizontalAlignment="Right"
                       Margin="4,0"
                       Foreground="DarkGray"
                       Opacity=".7" />
        </StackPanel>


        <StackPanel VerticalAlignment="Center"
                    HorizontalAlignment="Center">

            <StackPanel HorizontalAlignment="Center">
                <TextBlock Text="Select Assembly"
                           HorizontalAlignment="Left"
                           FontSize="15"
                           FontWeight="Bold"
                           Foreground="White"
                           Margin="4" />

                <StackPanel Orientation="Horizontal"
                            HorizontalAlignment="Center"
                            Margin="4">

                    <TextBox x:Name="browseTextBox"
                             Margin="4"
                             Width="300" />
                    <Button x:Name="browseButton"
                            Margin="4"
                            Foreground="White"
                            Content="Browse"
                            Click="browseButton_Click"
                            Style="{StaticResource GlassButton}" />

                </StackPanel>
            </StackPanel>


            <Controls:WaitIndicator x:Name="waitIndicator"
                                    HorizontalAlignment="Center"
                                    Margin="4" />

            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                    <RowDefinition Height="*" />
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"
                                      MaxWidth="500" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>

                <Grid.Resources>
                    <Style TargetType="TextBlock"
                           x:Key="infoText">
                        <Setter Property="Foreground"
                                Value="White" />
                        <Setter Property="FontWeight"
                                Value="Bold" />
                        <Setter Property="VerticalAlignment"
                                Value="Center" />
                        <Setter Property="TextWrapping"
                                Value="Wrap" />
                        <Setter Property="Margin"
                                Value="10" />
                    </Style>

                    <Style TargetType="Button"
                           BasedOn="{StaticResource GlassButton}"
                           x:Key="exportButton">
                        <Setter Property="IsEnabled"
                                Value="False" />
                        <Setter Property="VerticalAlignment"
                                Value="Center" />
                    </Style>
                </Grid.Resources>

                <TextBlock Text="Assembly Graph - graph map with all reference asssemblies, connected to your's one, where connection thick is based on method calls count."
                           Style="{StaticResource infoText}" />

                <Button Content="Assembly Graph"
                        Grid.Column="1"
                        Style="{StaticResource exportButton}"
                        x:Name="viewClassRefGraphButton"
                        Click="viewClassRefGraphButton_Click" />

                <TextBlock Text="Class Graph - graph map with all classes exposed by your assembly, where connections between classes is based on method calls count.Not very appropriate for huge assemblies."
                           Style="{StaticResource infoText}"
                           Grid.Row="1" />

                <Button Content="Class Graph"
                        Grid.Row="1"
                        Grid.Column="1"
                        Style="{StaticResource exportButton}"
                        x:Name="viewClassGraphButton"
                        Click="viewClassGraphButton_Click" />

                <TextBlock Text="Method Graph - graph map with all methods from all classes exposed by your assembly, where connections are directed and based on method calls count. Not very appropriate for big assemblies."
                           Style="{StaticResource infoText}"
                           Grid.Row="2" />

                <Button Content="Method Graph"
                        Grid.Row="2"
                        Grid.Column="2"
                        Style="{StaticResource exportButton}"
                        x:Name="viewMethodGraphButton"
                        Click="viewMethodGraphButton_Click" />

            </Grid>

        </StackPanel>
    </Grid>

</navigation:Page>
